# 关系运算符：比较两个操作数之间的大小或相等的关系
# 关系运算符对应的表达式，值是布尔类型

a = 'hello'
b = 'world'
print(a < b)
print(a > b)
print(a <= b)
print(a >= b)
print(a == b)
print(a != b)

# 关系运算不光可以针对数字进行比较，还能够比较字符串
# 比较字符串的规则：字典序
# 依次比较每个字母，在字母表上的的顺序，谁小，谁就排前面
# 针对中文字符串进行比较，是没有意义的
# 中文的比较，本质上是通过中文在计算机里存储对应的数字进行比较的

# python中可以直接将两个字符串放到逻辑运算符的两边
# 使用对应的规则进行比较，得到 True  or  False中的一种结果
print('hello' <= 'world')

# 对于浮点数来说，使用比较相等 == ，存在一定的风险
# 因为浮点数在内存中的存储和表示可能存在误差，
# 这样的误差在进行算术运算的时候就有可能被放大，
# 从而导致运算结果与预期不同，比如：
print(0.1 + 0.2 == 0.3)
print(0.1)
print(0.2)
print(0.1 + 0.2)
print(0.3)

# 基于以上的原因，正确的浮点数比较
# 应是作差，看差值是否小于误差范围，比如：
a = 0.1 + 0.2
b = 0.3
print(abs(a - b) < 0.00000001)
